Automatic recognition of handwritten information is desirable in many applications. The recognition of handwritten postal zip codes is but one example. Although only some 15% of all first class United States Mail is addressed by hand, even this small percentage translates into some 10 billion pieces of mail on an annual basis. Since current day optical character recognition equipment cannot usually read handwritten zip codes with any high degree of accuracy, mail containing such zip codes must usually be manually sorted, a tedious and labor intensive process.
One of the problems which has plagued the development of systems for accurately analyzing handwritten characters, such as a handwritten zip code, is that individuals often write differently. For example, some may chose to "write" a zip code by printing individual numbers while others may chose to write in cursive, so that two or more characters are connected to each other. Individually printed numbers are usually easy to recognize while recognizing cursive-written numbers which are connected to each other is quite difficult. Most recognition systems are trained to read separate individual numbers. A connected pair of numbers (or other alphanumeric characters) thus often appears unrecognizable. However, were it possible to segment the image containing the connected pair of numbers, that is, to partition the image, so that each character lies within a separate field, then recognition could be more easily accomplished.
One possible technique for segmenting an image containing a set of characters, such as a handwritten zip code, into separate fields is to iteratively segment the image and then evaluate (score) the degree to which the partitioned characters can be accurately recognized. Initially, the image is partitioned into fields of equal width, with the number of fields corresponding to the number of characters. Thereafter, the character in each field would be analyzed for recognition purposes, and a score would then be established based on the number of characters in the image which were correctly recognized. The partitioning of the image would then be adjusted and the image re-analyzed. The partitioning which yields the highest score would be selected as the best one. While this technique for image segmentation is useful, it is often time consuming.
Thus, there is a need for a technique for efficiently segmenting an image to facilitate recognition of the characters therein.